
import java.util.ArrayList;

/**
 * Tipo funcion.
 * @author paco
 */
public class TipoFuncion extends Tipo
{
	/**
	 * Argumentos del tipo en caso de ser una funcion.
	 */
	private ArrayList<Tipo> argumentos;

	/**
	 * Constructor.
	 * @param nombre Nombre de la función.
	 * @param tipoBase Tipo que devuelve la función.
	 */
	public TipoFuncion(String nombre, Tipo tipoBase)
	{
		super(nombre, tipoBase);
	}

	/**
	 * Obtiene la lista de argumentos de la función.
	 * @return Lista de argumentos de la función.
	 */
	public ArrayList<Tipo> getArgumentos()
	{
		return argumentos;
	}
	
	/**
	 * Añade un argumento a la función.
	 * @param argumento Argumento quue se va a añadir.
	 */
	public void addArgumentos ( Tipo argumento )
	{
		if ( argumentos == null )
		{
			argumentos = new ArrayList<Tipo>();
		}
		argumentos.add(argumento);
	}	
}